Improving Scalability of OpenMP Applications on MultiCore Systems

نویسنده

  • Ranjit Noronha
چکیده

Modern multicore architectures have become popular because of the limitations of deep pipelines and heating and power concerns. Some of these multicore architectures such as the Intel Xeon have the ability to run several threads on a single core. The OpenMP standard for compiler directive based shared memory programming allows the developer an easy path to writing multithreaded programs and is a natural fit for multicore architectures. The OpenMP standard uses loop parallelism as a basis for work division among multiple threads. These loops usually use arrays in their computation with different data distributions and access patterns. The performance of accesses to these arrays may be dependent on the underlying page size depending on the frequency and strides of these accesses. In this paper, we discuss the issues and potential benefits from using large pages for OpenMP applications. We design an OpenMP implementation capable of using large pages and evaluate the impact of using large page support available in most modern processors on the performance and scalability of parallel OpenMP applications. Results show an improvement in performance of up to 25% for some applications. It also helps improve the scalability of these applications. This research is supported in part by Department Energy’s grants #DE-FC02-06ER25755 and #DE-FC0206ER25749, National Science Foundation grants #CNS0403342 and #CNS-0509452; grants from Intel, Mellanox, and Sun Microsystems; and equipment donations from Intel, Mellanox, and SUN Microsystems.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Performance Evaluation of MPI, UPC and OpenMP on Multicore Architectures

The current trend to multicore architectures underscores the need of parallelism. While new languages and alternatives for supporting more efficiently these systems are proposed, MPI faces this new challenge. Therefore, up-to-date performance evaluations of current options for programming multicore systems are needed. This paper evaluates MPI performance against Unified Parallel C (UPC) and Ope...

متن کامل

Performance modeling of hybrid MPI/OpenMP scientific applications on large-scale multicore supercomputers

In this paper, we present a performance modeling framework based on memory bandwidth contention time and a parameterized communication model to predict the performance of OpenMP, MPI and hybrid applications with weak scaling on three large-scale multicore supercomputers: IBM POWER4, POWER5+ and BlueGene/P, and analyze the performance of these MPI, OpenMP and hybrid applications. We use STREAM m...

متن کامل

Scalable and Energy Efficient Execution Methods for Multicore Systems

Multicore architectures impose great pressure on resource management. The exploration spaces available for resource management increase explosively, especially for large-scale highend computing systems. The availability of abundant parallelism causes scalability concerns at all levels. Multicore architectures also impose pressure on power management. Growth in the number of cores causes continu...

متن کامل

Elektronik İstihbarat Algoritma Yazılımlarının OpenMP Kullanılarak Çok Çekirdekli İşlemciler Üzerinde Paralelleştirilmesi

Digital Signal Processors have an extensive use in embedded systems. There is a growing popularity in integration of many cores into one chip due to power consumption and heating considerations. In parallel with the multicore trend, an important aspect of software development today is proper migration to multicore environment. In this paper, we investigate parallelization in existing communicat...

متن کامل

Automatic Tuning for a Systemic Model of Banking Originated Losses (SYMBOL) Tool on Multicore

Nowadays, the mathematical/statistical applications are developed with more complexity and accuracy. However, these precisions and complexities have brought as result that applications need more computational power in order to be executed faster. In this sense, the multicore environments are playing an important role to improve and to optimize the execution time of these applications. These env...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007